#ifndef CSGINTERNODE_H
#define CSGINTERNODE_H

#include "csgnode.h"

class CSGInterNode : public CSGNode
{
public:
//    CSGInterNode();
    CSGInterNode(Expression& e1, Expression& e2);
    CSGInterNode(CSGNode *left, Expression& e);
    CSGInterNode(Expression& e, CSGNode *right);
    CSGInterNode(CSGNode *left, CSGNode *right);

    virtual double eval(double x, double y, double z);
    // test
    virtual bool emptyTest(StarTestBox *box);
    virtual bool starTest(StarTestBox *box, double *pt);
    virtual bool complementStarTest(StarTestBox *box, double *pt);
    virtual bool ptInSet(double *pt);
};

#endif // CSGINTERNODE_H
